package com.hsnn.medstgmini.base.std.service.impl;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.hsnn.medstgmini.base.std.dao.StdCompprofileDao;
import com.hsnn.medstgmini.base.std.model.StdCompprofile;
import com.hsnn.medstgmini.base.std.model.StdCompprofileLog;
import com.hsnn.medstgmini.base.std.service.StdCompprofileManager;
import com.hsnn.medstgmini.util.Pagination;

/**
 * @category 企业资质SERVICE 实现类
 * @author 韩守松
 * @date 2015年8月21日
 */
@Service
public class StdCompprofileManagerImpl implements StdCompprofileManager {
	
	@Autowired
	private StdCompprofileDao stdCompprofileDao;
	/**
	 * @category 查看企业资质信息
	 * @author 韩守松
	 * @date   2015年8月21日
	 * @param  @param page
	 * @param  @param stdCompprofile
	 * @param  @return
	 */
	public Pagination getStdCompprofile(Pagination page,StdCompprofile stdCompprofile) {
		return stdCompprofileDao.getStdCompprofile(page,stdCompprofile);
	}
	
	/**
	 * @category 新增企业资质
	 * @author 韩守松
	 * @date   2015年8月24日
	 * @param  @param page
	 * @param  @param stdCompprofile
	 * @param  @return
	 */
	@Transactional
	public Pagination save(Pagination page,StdCompprofile stdCompprofile) {
		return stdCompprofileDao.save(page, stdCompprofile);
	}
	
	/**
	 * @category 编辑企业资质
	 * @author 韩守松
	 * @date   2015年8月24日
	 * @param  @param page
	 * @param  @param stdCompprofile
	 * @param  @return
	 */
	@Transactional
	public Pagination edit(Pagination page,StdCompprofile stdCompprofile) {
		return stdCompprofileDao.edit(page, stdCompprofile);
	}
	
	/**
	 * @category 根据企业资质id获取资质信息
	 * @author 韩守松
	 * @date   2015年8月24日
	 * @param  @param compprofileId
	 * @param  @return
	 */
	public StdCompprofile getStdCompprofileById(String compprofileId) {
		return stdCompprofileDao.getStdCompprofileById(compprofileId);
	}
	
	 /**
	  * @category 更新企业资质状态
	  * @author 韩守松
	  * @date   2015年8月25日
	  * @param  @param stdCompprofile
	  * @param  @return
	  */
	@Transactional
	 public Pagination update(StdCompprofile stdCompprofile){
		 return stdCompprofileDao.update(stdCompprofile);
	 }
	 
	 /**
	  * @category 查询企业资质维护记录信息
	  * @author 韩守松
	  * @date   2015年8月25日
	  * @param  @param page
	  * @param  @param stdCompprofileLog
	  * @param  @return
	  */
	 @SuppressWarnings("unchecked")
	public Pagination getStdCompprofileLogData(Pagination page,StdCompprofileLog stdCompprofileLog){
		 List<Object> list = stdCompprofileDao.getStdCompprofileLogData(page,stdCompprofileLog);
		Map<String,String> map = new HashMap<String, String>();
		for(int i = 0;i<list.size();i++){
			map = (Map<String, String>) list.get(i);
			
			String detail = map.get("detail");
			if( StringUtils.isNotBlank(detail)){
				if(detail.toString().indexOf(",")<0){
					detail = "新增资质:<br/>".concat(detail.replaceAll(";", "<br/>"));
					
				}else{
					detail= detail.replaceAll(":", "由");
					detail= detail.replaceAll(",", "变为");
					detail= detail.replaceAll(";", "<br/>");
				}
			}
			map.put("detail", detail);
		}
		page.setRows(list);
		return page;
	 }
}
